Real-time scheduling algorithms are often used to address packet processing concerns within a particular network. Most of the research in the area of real-time scheduling has been focused on systems with hard real-time constraints. Hard real-time scheduling is necessary for real-time communications and mission critical tasks.
There are scheduling algorithms available for in-network media processing elements that receive packets as input and transmits packets as output. Media processing elements can be soft real-time because any varying delay in media packets can be compensated via a jitter buffer and does not lead to catastrophic failure of communication. The existing scheduling algorithms are sub-optimal and sometimes downright inefficient. Most scheduling algorithms based on task switching also assume that task switching carries zero overhead which is an incorrect assumption. Such schedulers are not suitable for IP (internet-protocol) to IP type processing because they will propagate the jitter from dirty input streams to other clean streams being handled by the box.